package com.terrace.web.tagext.easyui.provider;

import com.terrace.web.tagext.easyui.model.GridColumn;
import com.terrace.web.tagext.easyui.model.GridOpt;
import com.terrace.web.tagext.easyui.model.GridToolBar;

/**
 * easyui的grid接口
 * @author jiangyg
 *
 */
public interface GridProvider {
	
	/**
	 * 表格类型--分datagrid、treegrid两种
	 * @return
	 */
	public String gridType();
	
	/**
	 * 增加操作URL集合
	 * @param opt
	 */
	public void addGridOpt(GridOpt opt);
	
	/**
	 * 增加列集合
	 * @param column
	 */
	public void addGridColumn(GridColumn column);
	
	/**
	 * 增加工具条
	 * @param toolbar
	 */
	public void addGridToolbar(GridToolBar toolbar);
	
	/**
	 * 生成表格容器--<div class="easyui-layout">...</div>
	 * @return
	 */
	public String createGridContainer();
	
	/**
	 * 生成表格工具条
	 * @return
	 */
	public String createGridToolBar();
	
	/**
	 * 生成初始化表格js--$('#gridId').datagrid({...});
	 * @return
	 */
	public String createInitGridJS();
	
	/**
	 * 生成表格事件
	 * @return
	 */
	public String createGridEvents();
	
	/**
	 * grid分页方法
	 * @return
	 */
	public String createGridPager();
	
	/**
	 * 页面初始化事件
	 * @return
	 */
	public String createGridOnLoadHtmlEvent();
	
	/**
	 * 生成表格常用函数
	 * @return
	 */
	public String createGridCommonUseFuncs();

}
